let mongoose = require('mongoose')

// 连接数据库
mongoose.connect('mongodb://127.0.0.1/data')

mongoose.connection.on('open', function () {
    console.log('正在监听数据库')
    //定义文档结构 
    const bookSchema = mongoose.Schema({
        name: String,
        author: String,
        price: Number
    })
    // 创建模型（对应集合，能进行数据的crud操作
    const BookModel = mongoose.model('book', bookSchema)

    // 添加一个文档
    // BookModel.create({
    //     name: '活着',
    //     author: '余华',
    //     price: 34
    // }, (error, data) => {
    //     if (error) {
    //         console.log('----', error.message)
    //     } else {
    //         console.log(data)
    //     }
    //     // 关闭连接
    //     mongoose.connection.close()
    // })

    // 添加多条
    // BookModel.insertMany([
    //     {
    //         name: '红楼梦',
    //         author: '曹雪芹',
    //         price: 26.8
    //     },
    //     {
    //         name: '三国演义',
    //         author: '罗贯中',
    //         price: 35.6
    //     },
    //     {
    //         name: '水浒传',
    //         author: '施耐庵',
    //         price: 38.8
    //     },
    // ], (error, data) => {
    //     if (error) { // 如果失败了, 输出错误信息
    //         console.log('----', error.message)
    //     } else { // 如果成功, 输出返回数据 (产生的文档)
    //         console.log(data)
    //     }
    //     // 8. 关闭连接 (选做)
    //     mongoose.connection.close()
    // })



    // 更新多条
    // BookModel.updateMany({ name: '三国演义' }, { price: 200 }, (error, data) => {
    //     if (error) { // 如果失败了, 输出错误信息
    //         console.log('----', error.message)
    //     } else { // 如果成功, 输出返回数据 (产生的文档)
    //         console.log(data)
    //     }
    //     // 8. 关闭连接 (选做)
    //     mongoose.connection.close()
    // })

    // 查找
    // BookModel.find((error, data) => { // 不传入条件参数, 查找所有
    //     if (error) { // 如果失败了, 输出错误信息
    //         console.log('----', error.message)
    //     } else { // 如果成功, 输出返回数据 (产生的文档)
    //         console.log(data)
    //     }
    //     // 8. 关闭连接 (选做)
    //     mongoose.connection.close()
    // })
    // 查找一个
    BookModel.findOne({ name: '三国演义' }, (error, data) => { 
        if(error) {
            console.log('----', error.message)
        } else {
            console.log(data)
        }
     }


})